#include "../include/simhash/include/Simhasher.hpp"
#include <bitset>
using namespace simhash;


class Hashdup{
    class AutoRelease{
    public:
        AutoRelease();
        ~AutoRelease();
    };

public:
    static Hashdup* getpHashdup();
    int calculateHammingDistance(uint64_t hash1, uint64_t hash2);
    uint64_t getHash(const string &s1);
    bool simHash1(size_t u64, size_t u642);
    Simhasher simhasher;
private:
    Hashdup();
    Hashdup(const Hashdup&rhs) = delete;
    Hashdup&operator=(const Hashdup&rhs) = delete;
    static Hashdup * _pHashdup;
    static AutoRelease _ar;
};